﻿using System;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace SisEagle.View.Web.Pedidos
{
    public partial class Catalogo_Produtos : System.Web.UI.Page
    {

        #region Singleton
        private SisEagleBO.ProdutosBO _ProdutosBusiness;
        private SisEagleBO.ProdutosBO ProdutosBusiness
        {
            get
            {
                if (_ProdutosBusiness == null)
                    _ProdutosBusiness = new SisEagleBO.ProdutosBO();

                return _ProdutosBusiness;
            }
        }

        private SisEagleBO.ControleEstoqueBO _ControleEstoqueBusiness;
        private SisEagleBO.ControleEstoqueBO ControleEstoqueBusiness
        {
            get
            {
                if (_ControleEstoqueBusiness == null)
                    _ControleEstoqueBusiness = new SisEagleBO.ControleEstoqueBO();

                return _ControleEstoqueBusiness;
            }
        }

        private SisEagleBO.ImagensBO _ImagensBusiness;
        private SisEagleBO.ImagensBO ImagensBusiness
        {
            get
            {
                if (_ImagensBusiness == null)
                    _ImagensBusiness = new SisEagleBO.ImagensBO();

                return _ImagensBusiness;
            }
        }

        #endregion




        protected void Page_Load(object sender, EventArgs e)
        {
            if (!(Request.QueryString["codCarrinho"] == null))
            {
                lblCodCarrinhoCompras.Text = Request.QueryString["codCarrinho"];
            }
            else
            {
                //não selecionou carrinho de compra
                Response.Redirect("CarrinhoCompra.aspx");
            }
        }

        protected void btnBuscar_Click(object sender, ImageClickEventArgs e)
        {

            pnProdutos.Visible = true;
            if (UcCategorias.ComboCategorias.SelectedValue.Length > 0)
            {
                gridProdutos.DataSource = ProdutosBusiness.FindBy_codCategoria(Convert.ToInt16(UcCategorias.ComboCategorias.SelectedValue));
                gridProdutos.DataBind();            
            }

            if (txtNomeProduto.Text.Length > 0)
            {
                gridProdutos.DataSource = ProdutosBusiness.FindByWhere(" NomeProduto LIKE '%" + txtNomeProduto.Text + "%' ");
                gridProdutos.DataBind(); 
            }
        }

        protected void btnLimpar_Click(object sender, ImageClickEventArgs e)
        {
            Response.Redirect("Catalogo_Produtos.aspx?codCarrinho=" + lblCodCarrinhoCompras.Text);
        }

        protected void gridProdutos_RowDataBound(object sender, GridViewRowEventArgs e)
        {

            Label lblQtdEstoque = null;
            Label lblCodProduto = null;
            ImageButton imgSelecionar = null;
            Image imgProduto = null;

            if (e.Row.HasControls())
            {
                lblQtdEstoque = (Label)e.Row.FindControl("lblQtdEstoque");
                lblCodProduto = (Label)e.Row.FindControl("lblCodProduto");
                imgSelecionar = (ImageButton)e.Row.FindControl("imgSelecionar");
                imgProduto = (Image)e.Row.FindControl("imgProduto");

                if ((lblQtdEstoque != null) && (lblCodProduto != null) && (imgSelecionar != null))
                {
                    lblQtdEstoque.Text = ControleEstoqueBusiness.PegaQuantidadeEstoqueProduto(lblCodProduto.Text);

                    imgSelecionar.Attributes.Add("onclick", "window.open('Confirma_Produto_Carrinho.aspx?codCarrinho=" + lblCodCarrinhoCompras.Text +
                        "&CodProduto=" + lblCodProduto.Text + "','Produto','width=750,height=480,scrollbars=yes,status=1,menubar=no,top=5,left=200');return false;");

                    SisEagleVO.ImagensVO objImagensVO = new SisEagleVO.ImagensVO();

                    objImagensVO = ImagensBusiness.PegaImagemProduto(lblCodProduto.Text);

                    if (objImagensVO.Imagem.ToString().Length > 0)
                    {
                        imgProduto.ImageUrl = "~/Uploads/" + objImagensVO.Imagem;
                    }
                    else
                    {
                        imgProduto.ImageUrl = "~/Uploads/sem_imagem.jpg";
                    }

                }                


            }


        }
             
    }
}